package moodle.Agentes.Monitores;

import jamder.Environment;
import jamder.agents.GenericAgent;

import java.util.List;

import moodle.dados.Curso;
import moodle.dados.atividades.AtividadeParticipacao;
import moodle.dados.atividades.PesquisaAvaliacao;

import dao.GerenciaCurso;
import jade.core.Agent;
import jade.core.behaviours.TickerBehaviour;

public class MonitorPesquisaAvaliacao extends GenericAgent {

	private GerenciaCurso gerenciadorCurso;
	private List<Curso> cursos;
	private String name;
	private Environment environment;
	
	public MonitorPesquisaAvaliacao(String name, Environment environment, GerenciaCurso gerenciadorCurso){
		super(name, environment, null);
		this.gerenciadorCurso = gerenciadorCurso;
	}
	
	@Override
	protected void setup() {
		
		super.setup();
		System.out.println("Monitor de Pesquisa de Avaliacao executando.");
		cursos = gerenciadorCurso.getCursos();
		
		addBehaviour(new ChecaAtividade(this, 3000));
	}
	
	
	private class ChecaAtividade extends TickerBehaviour{

		public ChecaAtividade(Agent ag, long periodo) {
			super(ag, periodo);
			
		}

		@Override
		protected void onTick() {
			
			for(Curso c : cursos){
				List<AtividadeParticipacao> atividades = c.getAtividadesParticipacao();
				
				for(AtividadeParticipacao at : atividades){
					
					if(at instanceof PesquisaAvaliacao){
						at = (PesquisaAvaliacao)at;
						System.out.println("Pesquisa avaliacao " + at.getName());
					}
					
				}
			}
		
		}
		
		
		
	}
	
}
